package com.hjj.mybatis;

import com.hjj.mybatis.generator.base.GeneratorFactoryImpl;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * 模板代码生成类
 */
public class MybatisGenerator {

    private static ApplicationContext context;

    private static GeneratorFactoryImpl generatorFactory;

    /**
     * 生成模板代码，请执行本方法即可（温馨提醒：如需了解整个生成过程，可通过打断点，执行debug模式）
     */
    public static void main(String[] args) {
        // 读取配置文件
        context = new ClassPathXmlApplicationContext("classpath:spring-generator.xml");
        generatorFactory = (GeneratorFactoryImpl) context.getBean("generatorFactory");

        // 生成代码
        generatorFactory.defaultGeneratorStarter();

        // 关闭上下文
        if (context != null && context instanceof ClassPathXmlApplicationContext) {
            ((ClassPathXmlApplicationContext) context).close();
        }
    }

}
